package com.mine.modules.vm.service;

import com.mine.modules.vm.domain.dto.AddOrEditAssetDto;
import com.mine.modules.vm.domain.dto.BindingSensor;
import com.mine.modules.vm.domain.query.AssetsPageQuery;
import com.mine.common.domain.vo.Result;
import com.mine.modules.vm.entity.VmAssets;
import com.baomidou.mybatisplus.extension.service.IService;
import org.apache.poi.ss.formula.functions.T;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.multipart.MultipartFile;

/**
 * @author xujf
 * @since 2024-09-21
 */
public interface IVmAssetsService extends IService<VmAssets> {

    Result<?> queryPageList(AssetsPageQuery assetsPageQuery);

    Result<?> addOrEdit(AddOrEditAssetDto vmAsset);

    Result<?> delete(String id);

    Result<?> deleteBatch(String ids);

    Result<?> listAllLocation(String layerId, String keywords);

    Result<?> listAllAssetClassify(String layerId, String keywords);

    Result<?> listAllPurpose(String layerId, String keywords);

    Result<VmAssets> getByNumber(java.lang.String assetNumber);

    Result<?> bindSceneLayerOfAssets(String deviceId, String sceneLayerId);

    Result<?> batchBindingSensorByDeviceId(BindingSensor bindingSensor);

    Result<?> batchDeleteSensorByDeviceId(BindingSensor bindingSensor);

    Result<?> countAssetsByLayerId(String layerId);

    Result<?> countAssetsOfRegionByLayerId(String layerId);

    Result<?> getDetailsBySceneLayerId(String sceneLayerId);

    Result<?> getDetailsById(String id, String layerId);

    Result<?> parametricStatistical(String type, String layerId);

    Result<?> setAngleView(String id, String angleView);

    Result<?> importExcel(MultipartFile file);

}
